#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
按钮专用脚本，处理按钮点击事件
"""

import sys

def on_button_clicked():
    """
    按钮点击时调用的函数
    """
    try:
        # 获取环境管理器实例
        env_manager = sys.modules['__main__'].env_manager
        
        # 获取输入框对象引用
        input1 = env_manager.get_object_reference("input1")
        input2 = env_manager.get_object_reference("input2")
        input3 = env_manager.get_object_reference("input3")
        
        # 从输入框1和输入框2读取文本内容
        text1 = input1.property("text")
        text2 = input2.property("text")
        
        # 拼接文本
        concatenated_text = text1 + text2
        
        # 设置到输入框3中
        input3.setProperty("text", concatenated_text)
        
        # 确保返回的字符串能正确显示
        result = f"成功拼接: '{text1}' + '{text2}' = '{concatenated_text}'"
        # 直接返回UTF-8编码的字符串，让C++端正确处理
        return result
        
    except Exception as e:
        error_msg = f"按钮点击处理错误: {str(e)}"
        return error_msg

def process_float_value(float_value):
    """
    处理浮点数值的函数
    """
    try:
        # 获取环境管理器实例
        env_manager = sys.modules['__main__'].env_manager
        
        # 获取浮点数输入框对象引用
        float_input = env_manager.get_object_reference("floatInput")
        
        # 获取输入框1和输入框3对象引用
        input1 = env_manager.get_object_reference("input1")
        input3 = env_manager.get_object_reference("input3")
        
        # 显示接收到的浮点数值
        print(f"接收到的浮点数值: {float_value}")
        print("中文测试");
        
        # 将浮点数设置到输入框1中
        input1.setProperty("text", str(float_value))
        
        # 在输入框3中显示处理结果
        display_text = f"处理的浮点数: {float_value}"
        # 直接设置文本，不进行额外的编码转换
        input3.setProperty("text", display_text)
        
        result = f"hello"
        # result = f"成功处理浮点数: {float_value}"
        # 直接返回UTF-8编码的字符串，让C++端正确处理
        return result
        
    except Exception as e:
        error_msg = f"处理浮点数时出错: {str(e)}"
        return error_msg